
Cheyenne Shadowborn
|
Posted - 2006.03.05 13:10:00 -
[1]
Edited by: Cheyenne Shadowborn on 05/03/2006 13:13:23
Lets just throw in some facts:
- a game allocating lots of memory in short times (specificially the 2-5 MB/sec posted above) when "shooting stuff in large groups" - not per se a memory leak. Stuff needs memory. The more stuff on the screen, its quite likely the client allocates more memory.
- a game allocating lots more memory than the manufacturer states (256 MB) - not per se a memory leak. This is standard marketing speech. Since Windows allows you to use a page file to page out unused memory pages to disk and thus virtually gives you more memory, this is what most software manufacturers do, not just CCP. (That a machine with 256M is "trashing", i.e. writing stuff to and from the page file as context switches occur, e.g. between Eve and another app, and hence becomes dead slow ... thats another story).
I have seen people use the terms memory "leak" and "lack" interchangably the last days and this is just plain wrong. A memory leak occurs when an application (presumably written in a language that leaves memory management to the programmer like C) allocates memory from the operating system ('malloc', 'new' calls for those who wonder) and then does not free it (or all of it) with a corresponing 'free' or 'delete' call. Almost every major program I have seen (and I worked for a company producing commercial memory checkers) has memory leaks - its only that when its a long-running process and the leak happens in a loop that it accumulates and starts to show. Thats why restarting the game helps with a memory leak - the OS reclaims the memory when the process (i.e. game) ends.
Hence, the symptom of a memory leak is that your free memory decreases until (usually) the OS kills the process in self defense. Using 64 bit Windows will not make leaks go away, it MIGHT seem to help because the process can simply allocate more memory from the OS.
There is a whole range of other memory corruption errors besides leaks (without going into details) and debugging such things is not always trivial, especially when allocation and deallocation reside in different libraries, or maybe even third party code. There are tools to help with this, such as Valgrind or Purify, but I fully understand if CCP does not give some timeline for this.
The point is, observing windows memory decrease and then the game crash is LIKELY to be a memory leak but a lot of other observations in this thread taken as evidence of a leak oversimplify the whole matter.
Disclaimer: Not a fanboy.
|